Skip to content

Implement Streamable HTTP transport#33

Merged
topherbullock merged 12 commits intomodelcontextprotocol:mainfrom
Ginja:streamable-http
Jun 13, 2025
Merged

Implement Streamable HTTP transport#33
topherbullock merged 12 commits intomodelcontextprotocol:mainfrom
Ginja:streamable-http

Conversation

@Ginja
Copy link
Copy Markdown
Contributor

@Ginja Ginja commented May 30, 2025

Implements a rack-compatible Streamable HTTP transport with SSE support. As well as add notification support for the server with the following methods:

  • notify_tools_list_changed() - Send a notification when the tools list changes
  • notify_prompts_list_changed() - Send a notification when the prompts list changes
  • notify_resources_list_changed() - Send a notification when the resources list changes

Closes #4

Motivation and Context

To fulfill the Streamable HTTP transport specification as described here.

How Has This Been Tested?

Local tests only (see examples/). Working on implementing it with my MCP server that's a WIP.

Breaking Changes

Should introduce no breaking changes as using the StreamableHTTP transport is optional

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Local Tests

Started with run options --seed 59936

  132/132: [============================================================================================================================================================================================] 100% Time: 00:00:01, Time: 00:00:01

Finished in 1.21315s
132 tests, 405 assertions, 0 failures, 0 errors, 0 skips

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

support the streamable part of Streamable HTTP

5 participants